package com.ruoyi.drug_transfer.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 药品从药库调到药房对象 drug_transfer
 * 
 * @author ruoyi
 * @date 2025-08-22
 */
public class DrugTransfer extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long transferId;

    /** 调出药库ID */
    @Excel(name = "调出药库ID")
    private Long warehouseId;

    /** 调入药房ID */
    @Excel(name = "调入药房ID")
    private Long pharmacyId;

    /** 药品ID */
    @Excel(name = "药品ID")
    private Long drugId;

    /** 调拨数量 */
    @Excel(name = "调拨数量")
    private Long quantity;

    /** 状态（1=待确认，2=已完成，3=已取消） */
    @Excel(name = "状态", readConverterExp = "1==待确认，2=已完成，3=已取消")
    private Integer transferStatus;

    /** $column.columnComment */
    private Date applyTime;

    /** $column.columnComment */
    private Date confirmTime;

    public void setTransferId(Long transferId) 
    {
        this.transferId = transferId;
    }

    public Long getTransferId() 
    {
        return transferId;
    }

    public void setWarehouseId(Long warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() 
    {
        return warehouseId;
    }

    public void setPharmacyId(Long pharmacyId) 
    {
        this.pharmacyId = pharmacyId;
    }

    public Long getPharmacyId() 
    {
        return pharmacyId;
    }

    public void setDrugId(Long drugId) 
    {
        this.drugId = drugId;
    }

    public Long getDrugId() 
    {
        return drugId;
    }

    public void setQuantity(Long quantity) 
    {
        this.quantity = quantity;
    }

    public Long getQuantity() 
    {
        return quantity;
    }

    public void setTransferStatus(Integer transferStatus) 
    {
        this.transferStatus = transferStatus;
    }

    public Integer getTransferStatus() 
    {
        return transferStatus;
    }

    public void setApplyTime(Date applyTime) 
    {
        this.applyTime = applyTime;
    }

    public Date getApplyTime() 
    {
        return applyTime;
    }

    public void setConfirmTime(Date confirmTime) 
    {
        this.confirmTime = confirmTime;
    }

    public Date getConfirmTime() 
    {
        return confirmTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("transferId", getTransferId())
            .append("warehouseId", getWarehouseId())
            .append("pharmacyId", getPharmacyId())
            .append("drugId", getDrugId())
            .append("quantity", getQuantity())
            .append("transferStatus", getTransferStatus())
            .append("applyTime", getApplyTime())
            .append("confirmTime", getConfirmTime())
            .append("remark", getRemark())
            .toString();
    }
}
